home *** CD-ROM | disk | FTP | other *** search
- Things to change in snews 1.91 (93-08-23 DTF)
- ---------------------------------------------
- modify expire so it:
- - just displays groups & sizes with -l (list) or -d (display) switch
- - defaults to taking expire times for each group from a config file
- - uses Expires: lines to expire old articles (easy)
- - uses Supersedes: lines to expire old articles (more difficult)
- - uses Control: messages to cancel articles (more difficult)
- - allows -i interactive switch switch to interactively delete articles (no need
- for iexpire program then)
- Careful when implementing these, though! The article numbers will no longer
- match those in the users' .nrc files. Maybe replace deleted articles in the
- middle of a newsgroup with an pseudo-article like this:
- Newsgroups: group.name
- Distribution: local
-
- This article is not available.
- (What happens to reply and other commands when operated on this article?)
-
- fix limitation in expire so only that group currently being expired is removed
- from the history file (err on the side of expiring so a cross-posted article
- won't ever stay in history forever)
- - in expire, expire history as normal
- - in expirei, expire history to the second days on the command line
-
- expire should require a parameter in the group name field when using the -e n
- option
-
- change .nrc file to newsrc format, or at least compress it
-
- allow personal.rc loading if only UUPCNEWS and USER or LOGNAME environment
- variables are set -- look up passwd file in UUPCSYSRC directory to find home
- dir of USER/LOGNAME and therefore personal.rc
-
- when saving files to disk from snews, don't expand tabs (not easy)
-
- Allow editing of all article headers with the message & signature (make this
- an option in the .rc file)
- - alternatively, look for lines at the top of the message which look like
- part of the header (i.e. no spaces before a colon, blank line before body
- text) and ask the user to "Merge header lines in body with header (y/n)?"
-
- Fix reading RFC-1036 headers which wrap over to another line
-
- Followup articles should go to all groups in Newsgroups: line, not just current
- group
- - assume groups not in ACTIVE file are ok to post to
- - make sure article is stored immediately to all cross-posted groups
-
- Articles to a moderated group should be mailed to the Approved: header address
- (make sure cross-posts work correctly to moderated groups, too)
-
- Header parsing when posting should happen at post time -- this will allow
- unlimited References:, Newsgroups:, etc.
-
- add MIME headers to outgoing messages
- - start with Content-Transfer-Encoding: 7bit or 8bit, depending on body
- contents (this might not be accurate -- 7bit might actually be quoted-printable
- and 8bit might actually be binary)
- - if 7bit, assume character set is US-ASCII
- - if 8bit, use the CharSet= variable in .rc file to choose character set
- (default is no charset= on Content-Type line)
-
- found a post with X-Charset: ISO-8859-1 -- could support this, but how long
- will this type of header be around?
-
- If MIME-Version: is found, then "default Content-Type: is text/plain; charset=
- US-ASCII"; Content-Transfer-Encoding: defaults to 7bit
- - make sure to check headers for 8 bit characters, too.
-
- Could add Content-Length:, but is there a need?
-
- add base64 and quoted-printable text display on a line-by-line basis by
- adding a function mime_decode_line(char *, enum mime_decode_types) and
- piping its output to display_line()
-
- add text/simplemail decoding function display_simplemail(char *) which calls
- translate_line()
-
- if MIME-Version: is found, assume US-ASCII character set unless otherwise
- specified (this doesn't really buy anything, though, except maybe in multipart
- messages, and even then it might not be right)
-
- Allow quotation marks around charset="xxx" in Content-Type: header
-
- allow editing of the entire article, including headers
-
- change post_sequence() to use sopen() with O_RDWR and SH_DENYRD and SH_DENYWR
-
- add keys to go to top & bottom of screen (thread & group selection)
-
- add mouse support
-
- more time efficient storage of article headers (like snews /2)
-
- modify character set support to load the correct mapping tables for the current
- code page from disk at run time
-
- have SNews actively select the most appropriate code page for each article
-
- add F4 to pipe entire thread at thread selection level
-
- add support for mapping arbitrary ~/ file names in pipe command
-
- Display the word MIME in the bottom right hand corner of the screen when the
- MIME-Version: header is found (or when an unsupported content-type is found)
-
- display the character set in use when the F3 key is hit to change char set
-
- change smartcmp() to kill trailing spaces so thread subjects with trailing
- spaces are added
-
- add 'k' command to mark the current thread as read (from thread selection and
- article reading modes).
-
- add command to mark all threads to this point as read (catch up to current
- thread)
-
- add command to toggle display groups/threads from all to just those with
- unread articles
-
- allow user to specify if file is to be saved in mailbox format or not
-
- allow user to specify alternate mailer to use for replying to articles
- (Mailer= variable in config file)
-
- add command-line option to snews for "safe" mode; disallows !, |, 's'
-
- add command-line option to snews to select code page (-p n) -- good for users
- with a new code page, or terminal users
-
- fix unbatch so it uses the length after #! rnews nnn instead of just looking
- for the #! rnews line (or at least check that nnn is a number).
-
- fix unbatch so it doesn't add an extra line at the end of every article
-
- make sure articles ending with CR/LF lines are processed correctly (i.e. strip
- off CR on every line) -- unbatch
-
- maybe change enum exit_codes and other enums to typedefs
-
- add variable to select posting log file (post.log)
-
- move all posting operations into another program, pnews (may not be worthwhile)
-
- unbatch should uncompress with spawn() instead of system() and look at the
- return code
-
- allow esc key to abort thread loading
-
- only save the .nrc file if new articles have been read (or 'c'aught up)
-
- add article 'C'ancel command (generate Control: message)
-
- support 43 lines (actually n lines) and perhaps 132 columns (or n columns)
-
- have a toggle key to go between the group name and group description, stored
- in a newsgroups file
-
- do something with ctrl-break instead of ignoring it
-
- add Tass-like keys (from tass source)
-
- allow three config files to all be read -- uupc.rc, snews.rc and personal.rc
-
- Add option to use domain name in Path: line (maybe PathName=name.to.use.in.path
- where the special word domain means to use the domain name, not uucp name)
- - better yet, just allow user to override Nodename= in the snews.rc file with
- whatever he wants to go into the Path line (that will work, right?)
-
-
- Bugs (very conservatively defined as such)
- ------------------------------------------
- fix bug when sending mail with a " in the Subject:
-
- see if expire bug still exists that deletes the original newsbase name even
- before the new newsbase is written
-
- fix bug that *appears* to eat memory after Aborting during posting (maybe
- not aborting, too) (was this fixed with the open file bug? probably)
-
- fix file name input routine to work when RAW is on
-
- fix bug in unbatch that appears to truncate to 1 blank line mega collosal large
- (12000 line) articles (I see no reason this didn't work, though)
-